package org.dxy.domain.model.valobj;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum ProductType {
    /** 原材料（采购入库的基础物料） */
    RAW_MATERIAL("rawMaterial", "原材料"),

    /** 辅料（包装材料、辅料、耗材等，不直接构成产品主体） */
    AUXILIARY_MATERIAL("auxiliaryMaterial", "辅料"),

    /** 半成品（中间加工件，可继续加工为成品） */
    SEMI_FINISHED("semiFinished", "半成品"),

    /** 成品（最终交付客户的产品） */
    FINISHED("finished", "成品"),

    /** 外购件（直接采购的零部件/模块，用于装配） */
    PURCHASED_PART("purchasedPart", "外购件"),

    /** 工装/治具（辅助生产的专用工具） */
    TOOLING("tooling", "工装/治具"),

    /** 服务类产品（虚拟产品，如安装服务、软件License等） */
    SERVICE("service", "服务类产品"),

    /** 虚拟物料（BOM占位符、配置项，不真实存在库存） */
    VIRTUAL("virtual", "虚拟物料");

    private final String key;
    private final String description;
}